import dayjs from 'dayjs'
const moment = dayjs
// YYYY年MM月DD日 HH:mm:ss
let str = "YYYY-MM-DD"


export function getTime(obj) {
  let type = obj && obj.type ? obj.type : 'YYYY-MM-DD'; //格式化
  var time;
  if (!obj || !obj.time) { //没有时间就是获取今天
    time = moment().format(type);
  } else {
    time = moment(obj.time).format(type);
  }
  return time
}


// 获取今天时间
export function getToDays() {
  return moment().format("YYYY-MM-DD HH:mm:ss")
}

//时间戳转换
export function formatData(data) {
//  return moment(parseInt(data)).format('YYYY-MM-DD HH:mm:ss')
return moment(parseInt(data)).format('YYYY-MM-DD')
}
export function formatDataMon(data) {
  //  return moment(parseInt(data)).format('YYYY-MM-DD HH:mm:ss')
  return moment(parseInt(data)).format('YYYY-MM-DD HH:mm:ss')
  }

// 中国标准时间转换
export function transformTime(data) {
  let date = new Date(data)
  let year = date.getFullYear()
  let month = date.getMonth() + 1
  month = month< 10?'0'+moment:moment
  let day = date.getDate()
  day = day<10?'0'+day: day
  return year + '-' + moment + '-' + day
}

// 获取今天
export function getToDay(num) {
  // 开始
  let startTime = moment().format(str);

  // 结束
  let endTime = moment().format(str);
  return {
    startTime,
    endTime
  }

}


// 获取昨天
export function getYesDay(num) {
  // 开始
  let startTime = moment()
    .subtract(1, "day")
    .format(str);

  // 结束
  let endTime = moment()
    .subtract(1, "day")
    .format(str);
  return {
    startTime,
    endTime
  }

}


// 获取近七天
export function getAbout7Day(num) {
  // 开始
  let startTime = moment()
    .subtract(7, "day")
    .format(str);

  // 结束
  let endTime = moment()
    .subtract(1, "day")
    .format(str);
  return {
    startTime,
    endTime
  }

}

// 获取近七天(包括今天)
export function getAbout7DayToDay(num) {
  // 开始
  let startTime = moment()
    .subtract(7, "day")
    .format(str);

  // 结束
  let endTime = moment().format(str)
  return {
    startTime,
    endTime
  }

}
// 获取本周
export function getThisWeek() {
  // 开始
  let startTime;
  if (moment().day() === 0) {
    startTime = moment().subtract(6, "day").format(str);
  } else {
    startTime = moment()
      .day(1)
      .format(str);
  }

  // 结束
  let endTime;
  if (moment().day() === 1) {
    endTime = moment().format(str);
  } else {
    endTime = moment()
      .subtract(1, "day")
      .format(str);
  }


  return {
    startTime,
    endTime
  }

}

// 获取本周(包括今天)
export function getThisWeekToDay() {
  // 开始

  let startTime;
  if (moment().day() === 0) {
    startTime = moment().subtract(6, "day").format(str);
  } else {
    startTime = moment()
      .day(1)
      .format(str);
  }

  if (moment().day() === 0) {
    startTime = moment().subtract(6, "day").format(str);
  } else {
    startTime = moment()
      .startOf('week').add(1, 'day')
      .format(str);
  }

  // 结束
  let endTime = moment().format(str)



  // console.log(startTime, endTime)
  return {
    startTime,
    endTime
  }

}


// 获取本月
export function getThisMonth() {
  // 开始
  // 本月
  let startTime = moment()
    .startOf("month")
    .format(str);

  // 结束
  let endTime;
  if (moment().date() === 1) {
    endTime = moment().format(str);
  } else {
    endTime = moment()
      .subtract(1, "day")
      .format(str);
  }

  return {
    startTime,
    endTime
  }

}

export function getThisMonthToDay() {
  // 开始
  // 本月
  let startTime = moment()
    .startOf("month")
    .format(str);

  // 结束
  let endTime = moment().format(str);
  return {
    startTime,
    endTime
  }

}
// 全年

export function getThisYear() {
  // 开始
  // 本月
  let year = new Date().getFullYear();
  let startTime = `${year}-01-01`;

  // 结束
  let endTime;
  if (moment().date() === 1 && moment().month() + 1 === 1) {
    endTime = moment().format(str);
  } else {
    endTime = moment()
      .subtract(1, "day")
      .format(str);
  }


  return {
    startTime,
    endTime
  }

}

// 全年(包括今天)
export function getThisYearToDay() {
  // 开始
  // 本月
  let year = new Date().getFullYear();
  let startTime = `${year}-01-01`;

  // 结束
  let endTime = moment().format(str);


  return {
    startTime,
    endTime
  }

}

/* 获取上个周期的值 */
export function getsLastPeriod(timeArr) {
  const days = moment(timeArr[1]).diff(moment(timeArr[0]), 'day') + 1
  const timeObj = []
  timeObj[0] = moment(timeArr[0]).subtract(days, 'day').format('YYYY-MM-DD')
  timeObj[1] = moment(timeArr[1]).subtract(days, 'day').format('YYYY-MM-DD')
  return timeObj
}

/* 获取前天的值 */
export function getBeforeYes() {
  let day = moment().subtract(2, 'day').format('YYYY-MM-DD')
  return day
}


/* // 获取两个值之间相隔多少天 */
export function getDiffDay(newVal, oldVal) {
  const date1 = moment(newVal)
  const date2 = moment(oldVal)
  let day = date1.diff(date2, 'day')
  return Math.abs(day)
}

export function includeTime(day) {
  let flag = moment(day).diff(moment(), 'day') >= 0;
  return flag
}
